Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Алгоритм обчислення хеш-функції MD5

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2007
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Проектування комп’ютерних засобів захисту
Група:
СПР

Частина тексту файла

Міністерство освіти та науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 1 з курсу: « Проектування комп’ютерних засобів захисту» на тему: “ Алгоритм обчислення хеш-функції MD5” Львів 2007 Мета роботи: реалізувати демонстраційну програму обчислення значення сигнатури вхідного повідомлення за алгоритмом MD5. Теоретичні відомості: Алгоритм MD5 (Message Digest) – це алгоритм хешування, розроблений професором Рональдом Л.Рівестом з Массачусетського технологічного інституту (МТІ) в 1992 році. В якості вхідних даних береться повідомлення (потік даних) довільної довжини, і обчислюється 128 – розрядний хеш-код (сигнатура, дайджест). Припускається, що не існує двох повідомлень, які мають однакові сигнатури, або не можливо створити повідомлення з наперед заданою сигнатурою. Цей алгоритм застосовується в криптографії при формуванні цифрових підписів та генерації ключів шифрування. По суті, алгоритм хешування MD5 – це спосіб перевірки цілісності даних, набагато надійніший ніж контрольна сума або інші методи. Алгоритм під час розробки був оптимізований для 32 – розрядних систем і не потребує великих об’ємів пам’яті. MD5 є дещо повільніший, ніж MD4, але більш стійкий до криптографічних атак. Опис алгоритму Перед тим, як розглянути детально сам алгоритм, визначимо основні терміни та поняття, що ним використовуються. Під терміном “слово” будемо розуміти кількість інформації, яка представлена 32-ома розрядами (бітами), а під терміном “байт” – 8 розрядів (біт). Послідовність біт як послідовність байт, де кожна група із 8 – ми розрядів є окремим байтом, причому старший розряд байта іде першим. Аналогічно представляється послідовність байт, тільки молодший байт іде першим. В якості вхідного потоку будемо мати потік даних  розрядів. - невід’ємне ціле число (можливо 0), не обов’язково кратне 8. На рис. 1 зображена схема логіки виконання MD5.  Рис. 1. Логіка виконання MD5. Для обчислення MD5 хеш - функції необхідно виконати наступні 5 кроків: Крок 1: Вирівнювання потоку Повідомлення доповнюється таким чином, щоб його довжина була рівною 448 по модулю 512 (довжина ≡ 448 mod 512). Це означає, що довжина доданого повідомлення на 64 розряди менша ніж число, кратне 512. Додавання розрядів проводиться завжди, навіть тоді, коли повідомлення має потрібну довжину. Наприклад, якщо довжина повідомлення 448 розрядів, то воно доповнюється 512 розрядами до 960 розрядів. Отже число доданих розрядів знаходиться в межах від 1 до 512. Вирівнювання відбувається наступним чином: потік доповнюється одним бітом ‘1’, а за ним біти ‘0’ до тих пір, поки довжина потоку не буде рівною 448 по модулю 512. Крок 2: Додавання довжини 64 – розрядне представлення довжини вихідного (до добавлення) повідомлення в бітах приєднується до результату першого кроку. Якщо початкова довжина більша, ніж , то використовуються молодші 64 розряди. Іншими словами поле містить довжину вихідного повідомлення по модулю . В результаті перших двох кроків утворюється повідомлення, довжина якого кратна 512 розрядам. Це розширене повідомлення представляється, як послідовність 512 – бітних блоків , при цьому загальна довжина розширеного повідомлення рівна  розрядам. Таким чином довжина отриманого розширеного повідомлення кратна шістнадцяти 32 – бітним словам.  Рис. 2. Структура розширеного повідомлення. Крок 3: Ініціалізація MD-буфера Для збереження проміжних і кінцевих результатів хеш-функції використовується 128-розрядний буфер. Він представляється як чотири 32 – розрядні регістра (). В якості ініціалізуючих значень використовуються наступні шістнадцяткові числа:  Крок 4: Обробка послідовності 512 – розрядних (по 16 слів) блоків Основою алгоритму є блок, який складається із чотирьох циклів. Він позначається як . Чотири цикли мають подібну структуру, але для кожного циклу застосовуєт...
Антиботан аватар за замовчуванням

31.03.2013 15:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини